package com.zy.pay.api.response;

import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 查询订单返回参数 <br>
 *
 * @author panweiqiang <br>
 * @date 2020/7/7 9:27 <br>
 */
public class ZyPayOrderQueryResponse extends ZyPayResponse {

    /** id */
    @JSONField(name = "id")
    private Long    id;

    /** 支付订单号 */
    @JSONField(name = "tran_no")
    private String  tranNo;

    /** 商户订单号 */
    @JSONField(name = "cp_tran_no")
    private String  cpTranNo;

    /** 渠道订单号 */
    @JSONField(name = "channel_tran_no")
    private String  channelTranNo;

    /** 官方订单号 */
    @JSONField(name = "top_tran_no")
    private String  topTranNo;

    /** 支付金额 */
    @JSONField(name = "tran_money")
    private Long    tranMoney;

    /** 订单状态 */
    @JSONField(name = "tran_state")
    private Integer tranState;

    /** 产品名称 */
    @JSONField(name = "prod_name")
    private String  prodName;

    /** 产品类别 */
    @JSONField(name = "tran_type")
    private String  tranType;

    /** 支付方式 */
    @JSONField(name = "pay_name")
    private String  payName;

    /** 总金额（优惠金额+实际付款金额）,这边只存储，并原样返回给商户 */
    @JSONField(name = "total_money")
    private Long    totalMoney;

    /** 退款金额 */
    @JSONField(name = "refund_money")
    private Long    refundMoney;

    /** 退款状态 */
    @JSONField(name = "refund_state")
    private Integer refundState;

    /** 商品详情 */
    @JSONField(name = "prod_des")
    private String  prodDes;

    /** 用户姓名 */
    @JSONField(name = "user_name")
    private String  userName;

    /** 学工号 */
    @JSONField(name = "job_no")
    private String  jobNo;

    /** 商户编号 */
    @JSONField(name = "cp_code")
    private String  cpCode;

    /** 商户名称 */
    @JSONField(name = "cp_name")
    private String  cpName;

    /** 支付时间 */
    @JSONField(name = "pay_time")
    private Date    payTime;

    /** 红包金额*/
    @JSONField(name = "")
    private Long    redbagMoney;

    /**实际支付金额*/
    @JSONField(name = "real_money")
    private Long    realMoney;

    /** 完成时间 */
    @JSONField(name = "complete_time")
    private Date    completeTime;

    /** 学校编码 */
    @JSONField(name = "school_code")
    private String  schoolCode;

    /**设备编号*/
    @JSONField(name = "dev_id")
    private String  devId;

    /**渠道编码*/
    @JSONField(name = "channel_code")
    private String  channelCode;

    /**业务编码*/
    @JSONField(name = "bussi_code")
    private String  bussiCode;

    /**支付方式*/
    @JSONField(name = "pay_type")
    private String  payType;

    /**用户id*/
    @JSONField(name = "user_id")
    private Long    userId;

    /**一卡通账号*/
    @JSONField(name = "account")
    private String  account;

    /**一卡通账号类型*/
    @JSONField(name = "account_type")
    private Integer accountType;

    /**到帐金额*/
    @JSONField(name = "settled_money")
    private Long    settledMoney;

    /**费率金额*/
    @JSONField(name = "fee_money")
    private Long    feeMoney;

    /**支付费率类别，1支付费率，2扣除费率*/
    @JSONField(name = "settlefee_type")
    private Integer settlefeeType;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTranNo() {
        return tranNo;
    }

    public void setTranNo(String tranNo) {
        this.tranNo = tranNo;
    }

    public String getCpTranNo() {
        return cpTranNo;
    }

    public void setCpTranNo(String cpTranNo) {
        this.cpTranNo = cpTranNo;
    }

    public String getChannelTranNo() {
        return channelTranNo;
    }

    public void setChannelTranNo(String channelTranNo) {
        this.channelTranNo = channelTranNo;
    }

    public String getTopTranNo() {
        return topTranNo;
    }

    public void setTopTranNo(String topTranNo) {
        this.topTranNo = topTranNo;
    }

    public Long getTranMoney() {
        return tranMoney;
    }

    public void setTranMoney(Long tranMoney) {
        this.tranMoney = tranMoney;
    }

    public Integer getTranState() {
        return tranState;
    }

    public void setTranState(Integer tranState) {
        this.tranState = tranState;
    }

    public String getProdName() {
        return prodName;
    }

    public void setProdName(String prodName) {
        this.prodName = prodName;
    }

    public String getTranType() {
        return tranType;
    }

    public void setTranType(String tranType) {
        this.tranType = tranType;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public Long getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(Long totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Long getRefundMoney() {
        return refundMoney;
    }

    public void setRefundMoney(Long refundMoney) {
        this.refundMoney = refundMoney;
    }

    public Integer getRefundState() {
        return refundState;
    }

    public void setRefundState(Integer refundState) {
        this.refundState = refundState;
    }

    public String getProdDes() {
        return prodDes;
    }

    public void setProdDes(String prodDes) {
        this.prodDes = prodDes;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getJobNo() {
        return jobNo;
    }

    public void setJobNo(String jobNo) {
        this.jobNo = jobNo;
    }

    public String getCpCode() {
        return cpCode;
    }

    public void setCpCode(String cpCode) {
        this.cpCode = cpCode;
    }

    public String getCpName() {
        return cpName;
    }

    public void setCpName(String cpName) {
        this.cpName = cpName;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Long getRedbagMoney() {
        return redbagMoney;
    }

    public void setRedbagMoney(Long redbagMoney) {
        this.redbagMoney = redbagMoney;
    }

    public Long getRealMoney() {
        return realMoney;
    }

    public void setRealMoney(Long realMoney) {
        this.realMoney = realMoney;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public String getSchoolCode() {
        return schoolCode;
    }

    public void setSchoolCode(String schoolCode) {
        this.schoolCode = schoolCode;
    }

    public String getDevId() {
        return devId;
    }

    public void setDevId(String devId) {
        this.devId = devId;
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public String getBussiCode() {
        return bussiCode;
    }

    public void setBussiCode(String bussiCode) {
        this.bussiCode = bussiCode;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public Integer getAccountType() {
        return accountType;
    }

    public void setAccountType(Integer accountType) {
        this.accountType = accountType;
    }

    public Long getSettledMoney() {
        return settledMoney;
    }

    public void setSettledMoney(Long settledMoney) {
        this.settledMoney = settledMoney;
    }

    public Long getFeeMoney() {
        return feeMoney;
    }

    public void setFeeMoney(Long feeMoney) {
        this.feeMoney = feeMoney;
    }

    public Integer getSettlefeeType() {
        return settlefeeType;
    }

    public void setSettlefeeType(Integer settlefeeType) {
        this.settlefeeType = settlefeeType;
    }
}
